package JoseP;

import java.sql.*;
import javax.swing.JOptionPane;

public class RegMensualidad {
    
    conectate con;
  
    public RegMensualidad (){
    con = new conectate();
    }
    
    public void nuevoPago(String Code,String Rut,String Log, String Year, String Mes, String Monto){
        try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into " + 
                    "MENSUALIDAD(CODIGO_MENSUALIDAD,RUT_PASAJERO,LOGIN_PERSONAL,YEAR_MENSUALIDAD, MES_MENSUALIDAD, MONTO_MENSUALIDAD) values(?,?,?,?,?,?)");            
            pstm.setString(0, Code);
            pstm.setString(1, Rut);
            pstm.setString(2, Log);
            pstm.setString(3, Year);
            pstm.setString(4, Mes);                        
            pstm.setString(5, Monto);                        
            pstm.execute();
            pstm.close();            
            }
        catch(SQLException e){
            JOptionPane.showMessageDialog(null,"Error al Agregar\n"+e);
            }
        }
    
    public void deletePago(String cod){  
        try {                
            PreparedStatement pstm = con.getConnection().prepareStatement("delete from MENSUALIDAD where CODIGO_MENSUALIDAD = ?");            
                pstm.setString(1, cod);                   
                pstm.execute();
                pstm.close();            
            }
        
        catch(SQLException e){
            JOptionPane.showMessageDialog(null, "Error al borrar\n"+e);
            }            
        }
    
    public void updatePago(String CODIGO_MENSUALIDAD, String RUT_PASAJERO, String LOGIN_PERSONAL, String YEAR_MENSUALIDAD,
                            String MES_MENSUALIDAD, String MONTO_MENSUALIDAD){
        try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("update MENSUALIDAD "
  + "set RUT_PASAJERO =? ,LOGIN_PERSONAL =?,YEAR_MENSUALIDAD =? ,MES_MENSUALIDAD =?,MONTO_MENSUALIDAD =? where CODIGO_MENSUALIDAD = ? ");            
            pstm.setString(1, RUT_PASAJERO);
            pstm.setString(2, LOGIN_PERSONAL);
            pstm.setString(3, YEAR_MENSUALIDAD);
            pstm.setString(4, MES_MENSUALIDAD);
            pstm.setString(5, MONTO_MENSUALIDAD);
            pstm.setString(6, String.valueOf(CODIGO_MENSUALIDAD));
            pstm.execute();
            pstm.close();
            }
        
        catch(SQLException e){
            JOptionPane.showMessageDialog(null,"Error al Actualizar\n"+e);
            }
        }

public Object [][] getDatos(){
    
        int registros = 0;
        try {         
            PreparedStatement pstm = con.getConnection().prepareStatement("select count(1) as total from MENSUALIDAD ");
            ResultSet res = pstm.executeQuery();
            res.next();
            registros = res.getInt("total");
            res.close();
            }
        
        catch(SQLException e){
            JOptionPane.showMessageDialog(null, "Error al obtener getdatos \n"+e);
        }
      
    Object[][] data = new String[registros][6];  
        try {    
            PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
            " CODIGO_MENSUALIDAD, RUT_PASAJERO, LOGIN_PERSONAL, YEAR_MENSUALIDAD, MES_MENSUALIDAD, MONTO_MENSUALIDAD" +
            " FROM MENSUALIDAD" +
            " ORDER BY CODIGO_MENSUALIDAD");
            ResultSet res = pstm.executeQuery();
                   
        int i = 0;
            while(res.next()){
            String estCodigo = res.getString("CODIGO_MENSUALIDAD");
            String estRut = res.getString("RUT_PASAJERO");
            String estLogin = res.getString("LOGIN_PERSONAL");
            String estYear = res.getString("YEAR_MENSUALIDAD");
            String estMes = res.getString("MES_MENSUALIDAD");
            String estMonto = res.getString("MONTO_MENSUALIDAD");
            data[i][0] = estCodigo;            
            data[i][1] = estRut;            
            data[i][2] = estLogin;            
            data[i][3] = estYear;            
            data[i][4] = estMes;
            data[i][5] = estMonto;
            i++;
            }
            
        res.close();
        }
        
        catch(SQLException e){
            JOptionPane.showMessageDialog(null, "Error al obtener datos \n"+e);
        }
    
        return data;
    }
}